home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / tpdb314.zip / TPDBDEMO.PAS < prev    next >
Pascal/Delphi Source File  |  1990-02-14  |  4KB  |  145 lines

  1. Program TPDBDemo;
  2.  
  3. {Copyright 1989 Brian Corll}
  4.  
  5.  
  6. {Field  Field Name  Type       Width    Dec
  7.       1  CUSTNO      Character      5
  8.       2  FIRSTNAME   Character     20
  9.       3  MI          Character      1
  10.       4  LASTNAME    Character     25
  11.       5  ADDRESS     Character     35
  12.       6  CITY        Character     35
  13.       7  STATE       Character      2
  14.       8  ZIP         Character      5
  15.       9  ORDERNO     Character      9
  16.      10  ITEM        Character     20
  17.      11  COST        Numeric        8      2
  18.      12  SALEPRICE   Numeric        8      2
  19.      13  PROFIT      Numeric        8      2
  20.      14  SALEDATE    Date           8
  21.      15  COMPLETED   Logical        1
  22.  ** Total **                     191}
  23.  
  24. {Demonstration of the capabilities of TPDB  Version 3.0}
  25.  
  26.  Uses Crt,Dos,TPDB,TPDBDate,TPDBScrn,TPDBStr;
  27.  
  28. CONST
  29.     NameNdx : BYTE = 1;
  30.     CustNoNdx : BYTE = 2;
  31.  
  32.  
  33. VAR
  34.     J : LongInt;
  35.     SPos : Byte;
  36.     Message : String[80];
  37.     RecNo : string;
  38.     Continue : Byte;
  39.     Demo : ^DBF;
  40.     Test : ScrPtr;
  41.     Ch : Char;
  42.  
  43.  
  44. BEGIN
  45.     SetDateFormat(Italian);
  46.     NEW(Demo,Init('tpdbdemo.dbf'));
  47.     Demo^.Zap;
  48.     Demo^.MakeDBIndex(NameNdx,'name.ndx',25,Duplicates);
  49.     Demo^.MakeDBIndex(CustNoNdx,'custno.ndx',5,NoDuplicates);
  50.     Demo^.OpenDBIndex(NameNdx,'name.ndx',25,Duplicates);
  51.     Demo^.OpenDBIndex(CustNoNdx,'custno.ndx',5,NoDuplicates);
  52.  
  53.  
  54.     REPEAT
  55.     Continue := 0;
  56.     Demo^.NewDBRec;
  57.     Demo^.Repl(14,Today);
  58.     Normal := White+BlueBG;
  59.     Reverse := Black+LightGrayBG;
  60.     SetDBColor(Black,LightGray);
  61.     FlashFill(1,1,25,80,Blue+BlackBG,#176);
  62.     Flash(2,5,Black+LightGrayBG,'Customer');
  63.     Flash(3,5,Black+LightGrayBG,'Database');
  64.     FlashC(2,White+RedBG,'TPDB Version 3.0');
  65.     Flash(24,50,Black+LightGrayBG,'Press Esc Key When Finished.');
  66.     FlashC(4,White+GreenBG,'Demonstration');
  67.     Str(Demo^.DBRecNum:10,RecNo);
  68.     Message := 'Record Number: '+RecNo;
  69.     Flash(2,50,White+RedBG,Message);
  70.     Prompt(6,10,'Enter Customer Number: ');
  71.     Demo^.Say(1,6,33);
  72.     Prompt(8,10,'First Name: ');
  73.     Demo^.Say(2,8,22);
  74.     Prompt(10,10,'MI: ');
  75.     Demo^.Say(3,10,14);
  76.     Prompt(12,10,'Last Name: ');
  77.     Demo^.Say(4,12,21);
  78.     Prompt(14,10,'Address: ');
  79.     Demo^.Say(5,14,19);
  80.     Prompt(16,10,'City: ');
  81.     Demo^.Say(6,16,16);
  82.     Prompt(16,52,'State: ');
  83.     Demo^.Say(7,16,59);
  84.     Prompt(16,63,'ZIP Code: ');
  85.     Demo^.Say(8,16,73);
  86.     Prompt(18,10,'Order No.: ');
  87.     Demo^.Say(9,18,21);
  88.     Prompt(18,35,'Item: ');
  89.     Demo^.Say(10,18,41);
  90.     Prompt(20,10,'Cost: $');
  91.     Demo^.Say(11,20,17);
  92.     Prompt(20,30,'Sale Price: $');
  93.     Demo^.Say(12,20,43);
  94.     Prompt(20,55,'Profit: $');
  95.     Demo^.Say(13,20,64);
  96.     Prompt(22,30,'Sale Date: ');
  97.     Demo^.Say(14,22,41);
  98.     Prompt(24,10,'Transaction Completed ?: ');
  99.     Demo^.Say(15,24,35);
  100.  
  101.     BlockCursor;
  102.     SPos := 1;
  103.  
  104.     REPEAT
  105.     Case SPos of
  106.         1 : Demo^.Get(1,6,33);
  107.         2 : Demo^.Get(2,8,22);
  108.         3 : Demo^.Get(3,10,14);
  109.         4 : Demo^.Get(4,12,21);
  110.         5 : Demo^.Get(5,14,19);
  111.         6 : Demo^.Get(6,16,16);
  112.         7 : Demo^.Get(7,16,59);
  113.         8 : Demo^.Get(8,16,73);
  114.         9 : Demo^.Get(9,18,21);
  115.         10: Demo^.Get(10,18,41);
  116.         11: Demo^.Get(11,20,17);
  117.         12: Demo^.Get(12,20,43);
  118.         13:BEGIN
  119.             Demo^.Repl(13,Demo^.Sub(12,11));
  120.             Demo^.Say(13,20,65);
  121.             END;
  122.         14: Demo^.Get(14,22,41);
  123.         15: Demo^.Get(15,24,35);
  124.         END;
  125.         CheckScreen(SPos,BC,Up,Down,1,15);
  126.     UNTIL BC in Next;
  127.     Demo^.AddDBRec;
  128.     Demo^.AddDBKey(NameNdx,Demo^.Field(4));
  129.     Demo^.AddDBKey(CustNoNdx,Demo^.Field(1));
  130.     Flash(24,50,Blue+BlackBG,Replicate(#176,30));
  131.     Flash(24,50,White+RedBG,'Add another record ? ');
  132.     BC := GetBoolean(Continue,'Y','N',72,24);
  133.     UNTIL BoolToStr(Continue,'Y','N')='N';
  134.     DISPOSE(Demo,Done);
  135.     Test := SaveScreen;
  136.     SetDBColor(Black,Black);
  137.     ClrScr;
  138.     SetDBColor(White,Black);
  139.     Writeln('Just a moment ! I saved the last screen ! Press any key to see it again....');
  140.     Ch := ReadKey;
  141.     RestoreScreen(Test);
  142.     Delay(5000);
  143.     ClrScr;
  144. END.
  145.